package sparrowGui.item
{
	import flash.display.DisplayObject;
	import flash.display.DisplayObjectContainer;
	import flash.display.Sprite;
	import flash.text.TextField;
	
	import sparrowGui.utils.PubFun;

	/**
	 * 此列表项为多文本列表项
	 * 
	 * @author pelephone
	 */	
	public dynamic class ListItem extends Item
	{
		// update中data的数据解析方式. 0,默认自动解析; 1,data是字符,一个文本解析;
		//2,data是线性数组,查找skin中的特殊属性解析; 
		//3,data是object查找object[*]中的*对应skin里同名属性解析
//		protected var dataParse:int = 0;
		
		public function ListItem(data:Object=null, argSkin:Sprite=null,vars:Object=null)
		{
			super(data,argSkin,vars);
		}
		
		/** 参数o必须为数组,里面的text对象命名规则为"label0","label1","label2"...
		 * o里面的元素对应textField的text
		 */
		override public function update(data:Object):void
		{
			if(!data) return;
			itemData = data;
			/*if(style.hasOwnProperty("dataParse")) dataParse = style["dataParse"];
			
			if((dataParse==0 && ((data is String) || (data is Number))) || dataParse==1){
				super.update(data);
				return;
			}
			var txt:TextField,i:int,strName:String;
			if((dataParse==0 && (data is Array)) || dataParse==2){
				var prefix:String = style.hasOwnProperty("propPrefix")?style["propPrefix"]:DEFAULT_PREFIX;
				PubFun.batParseArrTodisp((data as Array),skin,prefix);
				return;
			}
			// 将数据与皮肤同名的属性斌值到皮肤
			PubFun.batParseObjTodisp(data,skin);*/
			
			
//			if(parseFunc==null){
//				if(data is Array){
//					parseFunc = parseBySkinPrefix;
//				}else{
//					parseFunc = parseBySkinName;
//				}
//			}
			
			super.update(data);
		}
		
/*		static public const DEFAULT_PREFIX:String = "item_arr";
		// 将数据解析到项里的文本
		public static function parseToTxt(data:Object,itemSkin:DisplayObjectContainer):void
		{
			var tf:TextField = PubFun.findChild(itemSkin, TextField) as TextField;
//			trace(data,'|',itemSkin.numChildren,tf.name,itemSkin.parent.name);
			tf.htmlText = String(data);
		}
		
		// 将数据按数据项的前缀字符解析到皮肤
		public static function parseBySkinPrefix(data:Object,itemSkin:DisplayObjectContainer):void
		{
			var prefix:String = DEFAULT_PREFIX;		//"item_arr"
			PubFun.batParseArrTodisp((data as Array),itemSkin,prefix);
		}
		
		// 将数据与皮肤同名的属性斌值到皮肤
		public static function parseBySkinName(data:Object,itemSkin:DisplayObject):void
		{
			PubFun.batParseObjTodisp(data,itemSkin);
		}*/
	}
}